import java.rmi.*;

import javax.crypto.SecretKey;

public interface CentralServerInterface extends Remote 
{
  public boolean mIsLocked(String pFileName, boolean isReader,int xPriority) throws RemoteException, InterruptedException;
  public String mGetServers(String pFileName, long pFileSize,int xPriority,boolean xIsReader) throws RemoteException;
  public void mUpdateLock(String pFileName,String pHostName,boolean xIsPut) throws RemoteException;
  public String mList() throws RemoteException;
  public void mRegister(String xHostName, String xPort) throws RemoteException;
  public void mUpdateTimeStamp(String xHostName, String xPort) throws RemoteException;
  public void mPutKey(String pFileName, SecretKey pKey) throws RemoteException;
  public SecretKey mGetKey(String pFileName) throws RemoteException;
}
